module frequency (
    input wire clk ,                  // 输入时钟信号
    input rst,
    output reg output_clk // 分频后的时钟信号输出
);
    parameter clk_freq =12000000;    //输入频率
    parameter OUT_Freq =1;           //目标频率
    parameter N =24 ;                //计数器位数
reg [N-1:0] counter; // 计数器

always @(posedge clk , posedge rst)
begin
    if (rst)
    begin
        output_clk <= 0;
        counter    <= 0;
    end
    else
        begin
            if (counter > clk_freq/ (2*OUT_Freq -  1'b1)) 
                begin
                    counter <=  1'b0;
                    output_clk <= ~output_clk; // 输出时钟信号取反
                end 
            else 
                begin
                    counter <= counter +1'b1;
                end
        end
end
endmodule
